home *** CD-ROM | disk | FTP | other *** search
- /** $VER: Version 0.3 (10 Dez. 1999), by Thorsten Willert
- **/
- ;OPTIONS RESULTS CACHE;SIGNAL ON BREAK_C;SIGNAL ON ERROR;SIGNAL ON HALT;SIGNAL ON SYNTAX;SIGNAL ON IOERR;PARSE ARG args;CALL LIBS();Para.appname='FileInfo';Para.appinfo='Information-Tool';Para.appversion='0.3';Para.apprelease='1';Para.appdate='10. Dez. 1999';Para.applongname=Para.appname Para.appversion||', © 1999 by Thorsten Willert';CALL INIT();IF args ~=='' THEN;DO;Datei=args;CALL Start();args='';END;DO WHILE(ende ~=TRUE);CALL TR_WAIT(app,'');DO WHILE TR_HANDLEMSG(app,'event');SELECT;WHEN event.trm_class='TRMS_ACTION' THEN;DO;SELECT;WHEN event.trm_id=1 THEN CALL REQ(ProgrammInfoText);WHEN event.trm_id=5 THEN ende=TRUE;OTHERWISE NOP;END;END;WHEN event.trm_class='TRMS_ICONDROPPED' THEN;DO;Datei=event.trm_data.1;CALL Start();END;WHEN event.trm_class='TRMS_CLOSEWINDOW' THEN ende=TRUE;OTHERWISE NOP;END;END;END;CALL Ende();EXIT 0;Start:;IF EXISTS( Datei) THEN;DO;Liste.0=1;Liste.1='DataType ...';CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);CALL EXAMINEDT(Datei,out.,STEM);IF LENGTH(Datei)>=50 THEN;DO;CALL SplitPath(Datei,'pfad.*');DatLength=LENGTH(pfad.FilePart);DirLength=LENGTH(pfad.DirPart);StDatei=LEFT(pfad.DirPart, DirLength-3-DatLength)||'.../'||pfad.FilePart;END;ELSE StDatei= Datei;Liste.0=1;Liste.1='Image-Size ...';CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);IF CreateImage(grafik,Datei,'TRXIM_PubScreenName Default')==1 THEN;DO;Breite=ImageWidth(grafik);Hoehe=ImageHeight(grafik);CALL DeleteImage(grafik);END;ELSE;DO;Breite='';Hoehe='';END;icon.='';Liste.0=1;Liste.1='Icon ...';CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);DateiIcon= Datei||'.info';IF EXISTS(DateiIcon) THEN;DO;CALL GetDiskObj(Datei,'icon.*');SELECT;WHEN icon.Type==1 THEN icon.Type='Disk';WHEN icon.Type==2 THEN icon.Type='Drawer';WHEN icon.Type==3 THEN icon.Type='Tool';WHEN icon.Type==4 THEN icon.Type='Project';WHEN icon.Type==5 THEN icon.Type='Garbage';WHEN icon.Type==6 THEN icon.Type='Device';WHEN icon.Type==7 THEN icon.Type='Appicon';OTHERWISE icon.Type='?';END;END;DateiIcon= Datei||'Disk.info';IF EXISTS(DateiIcon) THEN;DO;CALL GetDiskObj(Datei,'icon.*');SELECT;WHEN icon.Type==1 THEN icon.Type='Disk';WHEN icon.Type==2 THEN icon.Type='Drawer';WHEN icon.Type==3 THEN icon.Type='Tool';WHEN icon.Type==4 THEN icon.Type='Project';WHEN icon.Type==5 THEN icon.Type='Garbage';WHEN icon.Type==6 THEN icon.Type='Device';WHEN icon.Type==7 THEN icon.Type='Appicon';OTHERWISE icon.Type='?';END;END;ver.1='';ver.2='';IF icon.Type ~=='Drawer' THEN;DO;Liste.0=1;Liste.1='Version ...';CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);CALL EXECUTE('VERSION' Datei 'FULL','ver.*');IF RIGHT(ver.2,2)==20 THEN;DO;ver.1='';ver.2='';END;END;Liste.0=20;info.='';IF POS(':',Datei)==LENGTH(Datei) THEN;DO;Liste.0=1;Liste.1='Disk ...';CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);CALL Info(Datei,'info.*');SELECT;WHEN info.DiskType='NONE' THEN info.DiskType2=', No disk present';WHEN info.DiskType='BAD0' THEN info.DiskType2=', Unreadable disk';WHEN info.DiskType='DOS0' THEN info.DiskType2=', DOS disk';WHEN info.DiskType='DOS1' THEN info.DiskType2=', FFS disk';WHEN info.DiskType='DOS2' THEN info.DiskType2=', Inter DOS disk';WHEN info.DiskType='DOS3' THEN info.DiskType2=', Inter FFS disk';WHEN info.DiskType='DOS4' THEN info.DiskType2=', Fastdir DOS disk';WHEN info.DiskType='DOS5' THEN info.DiskType2=', Fastdir FFS disk';WHEN info.DiskType='NDOS' THEN info.DiskType2=', Not really DOS';WHEN info.DiskType='KICK' THEN info.DiskType2=', Kickstart disk';WHEN info.DiskType='MSD0' THEN info.DiskType2=', MS-DOS disk';OTHERWISE info.DiskType2='';END;Liste.0=30;END;Liste.1='Name: 'StDatei;Liste.2='Version: 'ver.1 ver.2;Liste.3='Comment: 'out.Comment;Liste.4='Date: 'out.Date;Liste.5='Protection: 'out.Protection;Liste.6='Size: 'out.Size;Liste.7='Blocks: 'out.NumBlocks;Liste.8='Disk Key: 'out.DiskKey;Liste.9='Dir Entry Type: 'out.DirEntryType;Liste.10='Entry Type: 'out.EntryType;Liste.11='Type: 'out.BaseType;Liste.12='Data Type: 'out.DataType;Liste.13='Base Name: 'out.BaseName;Liste.14='Image Width: 'Breite;Liste.15='Image Height: 'Hoehe;Liste.16='Icon Type: 'icon.Type;Liste.17='Stacksize: 'icon.Stack;Liste.18='Default Tool: 'icon.DefTool;Liste.19='Icon PosX: 'icon.PosX;Liste.20='Icon PosY: 'icon.PosY;Liste.21='';Liste.22='Volume Name: 'info.VolumeName;Liste.23='Creation Date: 'info.DateStamp;Liste.24='Soft Errors: 'info.NumSoftErrors;Liste.25='Unit Number: 'info.UnitNumber;Liste.26='Disk State: 'info.DiskState;Liste.27='Number Of Blocks: 'info.NumBlocks;Liste.28='Nr. Of Used Blocks: 'info.NumBlocksUsed;Liste.29='Bytes Per Block: 'info.BytesPerBlock;Liste.30='Disk Type: 'info.DiskType info.DiskType2;CALL TR_SetAttribute(mainwin,100,TROB_ListView,Liste);END;RETURN;INIT:;NULL='00000000'X;StatusText='';app=NULL;mainwin=NULL;Liste.='';Liste.0=0;CALL MakeInfo();CALL Sprache();app=TR_CREATEAPP('TRCA_Name "'Para.appname'" TRCA_LongName "'Para.applongname'" TRCA_Info "'Para.appinfo'" TRCA_Version "'Para.appversion'" TRCA_Release "'Para.apprelease'" TRCA_Date "'Para.appdate'" TAG_END');CALL MainWin();RETURN;Sprache:;Menu.1.0='Program';Menu.1.1='About ...';Menu.1.2='Quit';RETURN;MakeInfo:;ProgrammInfoText=Para.applongname||'0A'X||Para.appinfo||'0A'X||'Version:' Para.appversion '('||Para.appdate||')';RETURN;Ende:;IF mainwin ~=NULL THEN;DO;CALL TR_CLOSEPROJECT(mainwin);END;IF app ~=NULL THEN CALL TR_DELETEAPP(app);RETURN;LIBS:;ErrLib='';IF ~SHOW('L','rexxMOOS.library')&~ADDLIB('rexxMOOS.library',100,-30,0) THEN;ErrLib='Script requires rexxMOOS.library!';IF ~SHOW('L','tritonrexx.library')&~ADDLIB('tritonrexx.library',10,-30,0) THEN;ErrLib=ErrLib||'0A'X||'Script requires tritonrexx.library!';IF ~SHOW('L','datatypes.library')&~ADDLIB('datatypes.library',0,-30,0) THEN;ErrLib=ErrLib||'0A'X||'Script requires datatypes.library!';IF ErrLib ~='' THEN;DO;CALL OPEN(Ausgabe,'CON:20/20/300/100/MakeSuffix/WAIT');CALL WRITELN(Ausgabe,ErrLib);CALL WRITELN(Ausgabe,'Press CTRL-\ to close!');EXIT 10;END;RETURN;MainWin:;mainwintags=WindowID(1) WindowTitle(Para.appname ' ') ScreenTitle(Para.applongname) WindowFlags(TRWF_ZIPTOCURRENTPOS) WindowFlags(TRWF_APPWINDOW) BeginMenu(Menu.1.0) MenuItem(Menu.1.1,1) ItemBarlabel MenuItem(Menu.1.2,5) 'VertGroupA Space HorizGroupA Space VertGroupA' ListRO(Liste,100,0) 'EndGroup Space EndGroup Space EndGroup Space EndProject';mainwin=TR_OPENPROJECT(app,mainwintags);IF mainwin ~=NULL THEN ende=0;ELSE ende=1;RETURN;REQ:PROCEDURE;PARSE ARG txt,gads,title;args='';IF gads~=='' THEN args=args 'GADS' gads;IF title~=='' THEN args=args 'TITLE' title;RETURN RqtEasyReq(txt,args);REPLACE:PROCEDURE;PARSE ARG src,old,new;str='';DO WHILE ''~=src;loc=POS(old,src);PARSE VAR src sub (old) src;str=str||sub;IF loc~=0 THEN str=str||new;END;RETURN str;BREAK_C:;CALL RqtEasyReq('User Break!');CALL Ende();EXIT 10;HALT:;CALL RqtEasyReq('Execution stopped!');CALL Ende();EXIT 10;ERROR:;SYNTAX:;IOERR:;CALL RqtEasyReq('ERROR:' ERRORTEXT(RC) 'in line:' SIGL);CALL Ende();EXIT 20